
import { MongooseFactory } from "../kalend";
import { Schema } from "mongoose";

/** 小程序用户表 */
// 城市信息
const addressSchema = MongooseFactory.ChildSchema({
    adcode: {
        type: Number
    },
    province: {
        type: String
    },
    city: {
        type: String
    },
    district: {
        type: String
    }
});
const schema = MongooseFactory.Schema({
    // 昵称
    nickname: {
        type: String
    },
    // 姓名
    name: {
        type: String
    },
    code: {
        type: String
    },
    // 是否会员
    ismember: {
        type: Boolean,
        default: false
    },
    // 是否白金会员
    issupermember: {
        type: Boolean,
        default: false
    },
    // 是否领取礼品
    isgetgift: {
        type: Boolean,
        default: false
    },
    // 是否钻石会员
    isdiamondmember: {
        type: Boolean,
        default: false
    },
    // 手机号
    phone: {
        type: String
    },
    openid: {
        type: String
    },
    appcode: {
        type: String
    },
    session_key: {
        type: String
    },
    // 登录设备信息
    device: {
        type: Schema.Types.Mixed
    },
    //备注
    remark: {
        type: String
    },
    // 升级日期
    uptime: {
        type: Date
    },
    // 会员到期日期
    endtime: {
        type: Date
    },
    // 积分
    integral: {
        type: Number,
        default: 0
    },
    // 酒币
    coinbalance: {
        type: Number,
        default: 0
    },
    //餐币
    mealbalance: {
        type: Number,
        default: 0
    },
    // 头像图片id
    headimg: {
        type: String
    },
    // 所属商户负责人ID
    legaluserid: {
        type: Schema.Types.ObjectId,
        ref: "platform_user"
    },
    //所属品牌宣传大使
    agent: {
        type: Schema.Types.ObjectId,
        ref: "platform_user"
    },
    //所属品牌宣传大使-邀请等级
    agentlevel: {
        type: Number
    },
    // 邀请人
    inviter: {
        type: Schema.Types.ObjectId,
        ref: "customer_account"
    },
    // 邀请人code
    ivtercode: {
        type: String
    },
    // 状态  1：有效  0：禁用
    status: {
        type: Number,
        default: 1
    },
    address: {
        type: String
    },
    sex: {
        type: String,
        enum: [null, '男', '女']
    },
    validation: {
        type: String
    },
    // 登录ip
    loginip: {
        type: String
    },
    // 经度
    longitude: {
        type: String
    },
    // 维度
    latitude: {
        type: String
    },
    ad_info: {
        type: addressSchema
    },
    // 是否发放人
    isender: {
        type: Boolean,
        default: false
    }
});



export const customer_accountModel = MongooseFactory.Model("customer_account", schema);